import request from "@/utils/request";

const ANALYES_BASE_URL = '/lipu/flow/analysis';
const QC_BASE_URL = '/lipu/flow/qc';


const AnalyesAPI = {
    /**
     * 获取分析表单列表
     *
     * @param queryParams 查询参数
     * @returns 分页结果
     */
    getPage(queryParams: AnalyesPageQuery) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/task_list`,
            method: "get",
            params: queryParams,
        });
    },

    /**
     * 获取分析表单列表
     *
     * @param queryParams 分析单状态和id
     * @returns 详情
     */

    getAnalyseDetailsPage(queryParams: AnalyseStatus) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/get_single_task`,
            method: "get",
            params: queryParams,
        });
    },
    /**
     * 获取质控表单列表
     *
     * @param queryParams 质控单id
     * @returns 详情
     */

    getQcDetailsPage(queryParams: qcStatus) {
        return request<any>({
            url: `${QC_BASE_URL}/get_single_qc`,
            method: "get",
            params: queryParams,
        });
    },
    /**
     * 获取分析室人员或校核人员
     *
     * @param queryParams group_id
     * @returns 人员
     */

    getPersonnel(queryParams: analysPersonnel) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/users`,
            method: "get",
            params: queryParams,
        });
    },
    /**
     * 分派
     *
     * @param queryParams group_id
     * @returns 人员
     */

    handleApportion(queryParams: assignmentParameters) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/assign_params`,
            method: "post",
            data: queryParams,
        });
    },
    /**
     * 添加参数
     *
     * @param queryParams group_id
     * @returns 人员
     */

    handleAddParameter(queryParams: addParameters) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/add_params`,
            method: "post",
            data: queryParams,
        });
    },
    /**
     * 添加参数
     *
     * @param queryParams group_id
     * @returns 人员
     */

    getAssignDetail(queryParams: AnalyseStatus) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/assign_detail`,
            method: "post",
            data: queryParams,
        });
    },
    /**
     *  分派下发
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    dispatchAllots(queryParams: AnalyseStatus) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/issued`,
            method: "post",
            data: queryParams,
        });
    },
    /**
     *  重新分派
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    oncemoreAssign(queryParams: anewParameters) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/oncemore_assign`,
            method: "post",
            data: queryParams,
        });
    },
    /**
     *  样品分析列表
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    getOrder(queryParams: anewParameters) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/order`,
            method: "get",
            params: queryParams,
        });
    },
    /**
     *  生成分析草稿单
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    generateCgTable(queryParams: cgTable) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/add_cgorder`,
            method: "post",
            data: queryParams,
        });
    },
    /**
     *  回显分析草稿单
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    echoCgTable(queryParams: AnalyseStatus) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/show_cgorder`,
            method: "post",
            data: queryParams,
        });
    },
    /**
     *  组员接收任务详情显示
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    echoCgDetailTable(queryParams: sampleId) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/detail`,
            method: "get",
            params: queryParams,
        });
    },
    /**
     *  接收分析单任务
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    sampleconfirm(queryParams: sampleConfirm) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/confirm_ok`,
            method: "post",
            data: queryParams,
        });
    },
    /**
     *  ——水质容量A新增
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    addWaterCapacity(queryParams: sampleConfirm) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/add_analrecord`,
            method: "post",
            data: queryParams,
        });
    },
    /**
     *  ——水质容量A新增
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    updateWaterCapacity(queryParams: sampleConfirm) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/update_analrecord`,
            method: "post",
            data: queryParams,
        });
    },
    /**
     *  ——获取 水质容量A   工作表
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    getAnalyseACapacity(queryParams: sampleConfirm) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/get_analrecord`,
            method: "get",
            params: queryParams,
        });
    },
    /**
     *  ——提交校核时间
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    handleCheckTimeData(queryParams: sampleConfirm) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/submit_date`,
            method: "POST",
            data: queryParams,
        });
    },
    /**
     *  ——获取分析表单
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    getAnalyseForm(queryParams: sampleConfirm) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/get_analforms`,
            method: "get",
            params: queryParams,
        });
    },
    /**
     *  ——添加表单
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    handleAddSampleForm(queryParams: sampleConfirm) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/add_form`,
            method: "POST",
            data: queryParams,
        });
    },
    /**
     *  ——合并参数
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    handleMergeParameters(queryParams: sampleConfirm) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/merge_params`,
            method: "POST",
            data: queryParams,
        });
    },
    /**
     *  ——拆分参数
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    handleSplitParameters(queryParams: sampleConfirm) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/split_param`,
            method: "POST",
            data: queryParams,
        });
    },
    /**
     *  ——删除表单
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    handleDeleteForm(queryParams: deleteForm) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/del_form`,
            method: "POST",
            data: queryParams,
        });
    },
    /**
     *  —校核单子
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    handleCheckList(queryParams: deleteForm) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/check_record`,
            method: "POST",
            data: queryParams,
        });
    },
    /**
     *  —审核单子
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    handleReviewList(queryParams: deleteForm) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/review_record`,
            method: "POST",
            data: queryParams,
        });
    },
    /**
     *  —获取样品编号（分析单）
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    getSamplesn(queryParams: deleteForm) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/get_samplesn`,
            method: "GET",
            params: queryParams,
        });
    },
    /**
     *  —删除分析单接口
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    handleDeleteList(queryParams: deleteForm) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/del_form`,
            method: "POST",
            data: queryParams,
        });
    },
    /**
     *  —分析单校核
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    handleCheckRecord(queryParams: deleteForm) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/check_record`,
            method: "POST",
            data: queryParams,
        });
    },
    /**
     *  —提交审核人
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    handleAddReviewer(queryParams: deleteForm) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/add_reviewer`,
            method: "POST",
            data: queryParams,
        });
    },
    /**
     *  —审核结果
     *
     * @param queryParams 任务id
     * @returns 人员
     */

    handleReviewRecord(queryParams: deleteForm) {
        return request<any>({
            url: `${ANALYES_BASE_URL}/review_record`,
            method: "POST",
            data: queryParams,
        });
    },
};
export default AnalyesAPI;

/**
 * 分析单查询参数
 */
export interface AnalyesPageQuery {
    /**
     * 每页有几条数据
     */
    limit?: string;

    /**
     * 第几页
     */
    page?: number;

    /**
     * 任务名称
     */
    task_name?: number;

    /**
     * 状态
     */
    status?: number;
}

/**
 * 分析单详情
 */
export interface AnalyseStatus {

    /**
     * 任务id
     */
    task_id?: number;
}

/**
 * 分析单详情
 */
export interface sampleId {

    /**
     * id
     */
    id?: number;

    /**
     * 任务id
     */
    task_id?: number;
}

/**
 * 质控单详情
 */
export interface qcStatus {

    /**
     * 任务id
     */
    qc_id?: number;
}

/**
 * 分析室人员或校核人员
 */
export interface analysPersonnel {

    /**
     * 任务id
     */
    group_id?: number;
}

/**
 * 分派参数
 */
export interface assignmentParameters {

    /**
     * 任务id
     */
    task_id?: number;

    /**
     * 校核人id
     */
    check_uid?: number;

    /**
     * 分析人id
     */
    analysis_uid?: string;

    /**
     * 备注
     */
    notes?: string;

    /**
     * 参数
     */
    params?: string;
}

/**
 * 添加参数
 */
export interface addParameters {

    /**
     * 任务id
     */
    task_id?: number;

    /**
     * 校核人id
     */
    check_uid?: number;

    /**
     * 分析人id
     */
    analysis_uid?: string;

    /**
     * 备注
     */
    notes?: string;

    /**
     * 样品编号id
     */
    sample_category_id?: string;

    /**
     * 样品编号
     */
    sample_category?: string;

    /**
     * 检测参数id
     */
    testparms_id?: string;

    /**
     * 检测参数
     */
    test_parms?: string;

    /**
     * 检测方法编号
     */
    test_method_number?: string;

    /**
     * 检测方法
     */
    test_method?: string;
}


/**
 * 添加参数
 */
export interface anewParameters {

    /**
     * 任务id
     */
    task_id?: number;

    /**
     * 分析人id
     */
    analysis_uid?: string;

    /**
     * 备注
     */
    notes?: string;
}

/**
 * 添加参数
 */
export interface cgTable {

    /**
     * 任务id
     */
    task_id?: number;

    /**
     * 分析人id
     */
    datas?: string;
}

/**
 * 添加参数
 */
export interface sampleConfirm {

    /**
     * 分析人id
     */
    id?: number;
}

/**
 * 删除参数
 */
export interface deleteForm {

    /**
     * 分析人id
     */
    test_param_id?: string;

    /**
     * 分析人id
     */
    analysis_form_id?: string;
}

